package com.cll.learn.rabbitmq.mapper;

import com.cll.learn.rabbitmq.entity.Order;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 描述信息:
 *
 * @author CLL
 * @version 1.0
 * @date 2021/2/23 16:23
 */
@Mapper
public interface OrderMapper {

    /**
     * 新增订单信息
     * @param order 订单
     * @return  新增结果
     */
    int insertOrder(@Param("order") Order order);

    /**
     * 修改订单信息
     * @param id    订单ID
     * @param state 订单状态
     * @param endTime   订单结束时间
     * @param sourceState 原来的状态
     * @return  修改结果
     */
    int updateState(@Param("id") String id, @Param("state") int state, @Param("endTime")Date endTime, @Param("sourceState") int sourceState);

    /**
     * 查询所有订单
     * @return  订单列表
     */
    List<Order> selectAll();
}
